ATOM Documentation

← Back to App

Marketplace API - Quick Start Guide

Get up and running with the ATOM Public Marketplace API in 5 minutes.

Prerequisites

  • Basic understanding of REST APIs
  • An API key (for write operations) or just a browser for read operations
  • cURL, Postman, or any HTTP client

Step 1: Your First Request

Let's start by browsing the marketplace. No authentication required!

curl -X GET "https://api.atomagentos.com/api/public/v1/marketplace/skills"

**Response:**

{
  "skills": [],
  "total": 0,
  "limit": 50,
  "offset": 0,
  "has_more": false
}

Currently the marketplace is empty, but the API is working!

Step 2: Explore Categories and Tags

Discover what's available in the marketplace:

# Get all categories
curl -X GET "https://api.atomagentos.com/api/public/v1/marketplace/categories"

# Get popular tags
curl -X GET "https://api.atomagentos.com/api/public/v1/marketplace/tags"

Step 3: Search Skills

Search for specific skills using query parameters:

# Search for data processing skills
curl -X GET "https://api.atomagentos.com/api/public/v1/marketplace/skills?query=data"

# Filter by category
curl -X GET "https://api.atomagentos.com/api/public/v1/marketplace/skills?category=data-processing"

# Filter by type
curl -X GET "https://api.atomagentos.com/api/public/v1/marketplace/skills?type=api"

# Combine filters
curl -X GET "https://api.atomagentos.com/api/public/v1/marketplace/skills?category=data-processing&type=api&sort_by=rating&sort_order=desc"

Step 4: Get Skill Details

When you have a skill ID, get detailed information:

curl -X GET "https://api.atomagentos.com/api/public/v1/marketplace/skills/123e4567-e89b-12d3-a456-426614174000"

Step 5: Submit a Skill (Optional)

To submit skills to the marketplace, you'll need an API key.

Get Your API Key

  1. Log in to your ATOM account
  2. Navigate to Settings → API Keys
  3. Create a new API key
  4. Copy the key (format: atom_pub_...)

Submit Your First Skill

Create a file called skill.json:

{
  "name": "My First Skill",
  "description": "A simple skill that demonstrates the marketplace",
  "long_description": "# My First Skill\n\nThis skill does amazing things.",
  "type": "api",
  "category": "automation",
  "tags": ["automation", "demo"],
  "price": 0.0,
  "license": "MIT",
  "input_schema": {
    "type": "object",
    "properties": {
      "text": {
        "type": "string",
        "description": "Input text"
      }
    },
    "required": ["text"]
  },
  "output_schema": {
    "type": "object",
    "properties": {
      "result": {
        "type": "string",
        "description": "Processed result"
      }
    }
  },
  "code": "def execute(input):\n    return {'result': input['text'].upper()}"
}

Submit it:

curl -X POST "https://api.atomagentos.com/api/public/v1/marketplace/submit" \
  -H "X-API-Key: atom_pub_YOUR_KEY_HERE" \
  -H "Content-Type: application/json" \
  -d @skill.json

**Response:**

{
  "id": "new-skill-uuid",
  "name": "My First Skill",
  "status": "pending_approval",
  "submitted_at": "2024-02-19T00:00:00Z"
}

Your skill will be reviewed and approved before appearing in the public marketplace.

Step 6: Rate a Skill (Optional)

Once you've used a skill, rate it:

curl -X POST "https://api.atomagentos.com/api/public/v1/marketplace/skills/SKILL_ID/rate" \
  -H "X-API-Key: atom_pub_YOUR_KEY_HERE" \
  -H "Content-Type: application/json" \
  -d '{
    "rating": 5,
    "review": "Excellent skill! Very useful."
  }'

Common Use Cases

Build a Skill Browser

async function browseMarketplace(category = null) {
  const params = new URLSearchParams({
    limit: 20,
    sort_by: 'rating',
    sort_order: 'desc'
  });

  if (category) {
    params.append('category', category);
  }

  const response = await fetch(
    `https://api.atomagentos.com/api/public/v1/marketplace/skills?${params}`
  );

  const data = await response.json();
  return data.skills;
}

// Usage
const skills = await browseMarketplace('data-processing');
console.log(skills);

Search Skills

import requests

def search_skills(query):
    url = "https://api.atomagentos.com/api/public/v1/marketplace/skills"
    params = {"query": query, "limit": 10}

    response = requests.get(url, params=params)
    data = response.json()

    return data["skills"]

# Usage
results = search_skills("data extraction")
for skill in results:
    print(f"{skill['name']}: {skill['description']}")

Get Skill Reviews

curl -X GET "https://api.atomagentos.com/api/public/v1/marketplace/skills/SKILL_ID/reviews?limit=10"

Rate Limiting

Be aware of rate limits:

Access TypeLimit
Unauthenticated60 requests/minute
API Key300 requests/minute
OAuth Token600 requests/minute

Check your remaining quota:

const response = await fetch(url);
console.log('Remaining:', response.headers.get('X-RateLimit-Remaining'));

Next Steps

Need Help?

  • **Documentation:** https://atomagentos.com/docs/marketplace
  • **API Status:** https://atomagentos.com/status
  • **Support:** api-support@atomagentos.com

---

**Happy Building! 🚀**